package combination;

/**
 * @Author: Doream
 * @Date: 2022/1/28 21:07
 */
public abstract class MenuComponent {
    // 菜单组件的名称
    public String name;
    // 菜单组件的层级
    public int level;

    // 添加子菜单
    public void add(MenuComponent menuComponent){
        throw new UnsupportedOperationException();
    }

    // 移除子菜单
    public void remove(MenuComponent menuComponent){
        throw new UnsupportedOperationException();
    }

    // 获取指定的子菜单
    public MenuComponent getChild(int index){
        throw new UnsupportedOperationException();
    }

    // 获取菜单或菜单项的名称
    public String getName() {
        return name;
    }

    // 打印菜单名称(包含子菜单和菜单项)
    public abstract void print();

}
